package server;


import client.CadastroArqCRUD;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.Serializable;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

import comum.Arquivo;
import comum.Rmi;
import comum.Util;
import java.io.File;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
 * Classe concreta que realiza a implemantação dos metodos remotos
 */
public class Servidor extends UnicastRemoteObject implements Rmi, Serializable {

	private String diretorio = "c:\\ServidorFtp\\";
        private String url = null;
        
      
    
        protected Servidor() throws RemoteException {
		super();
	}

	private static final long serialVersionUID = 1L;

	@Override
	public void transferirArquivo(Arquivo arquivo) {
		try {
			FileOutputStream fos = new FileOutputStream(diretorio+"Hermes1.mp3");
			fos.write(arquivo.getBytes());
			fos.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

    @Override
    public void criarDiretorio() throws RemoteException {
        File dir = new File(diretorio);
           if(!dir.exists()){
              dir.mkdir(); 
           }
    }

    @Override
    public Arquivo arquivoDownload(String nomeArquivo) throws RemoteException {
        
        CadastroArqCRUD arqCrud = new CadastroArqCRUD();
        url = arqCrud.buscaArquivo(nomeArquivo);
        Arquivo arquivo = new Arquivo(Util.getFile(url));
        File f = new  File("c:\\ServidorFtp\\01-anberlin-the_haunting.mp3");
        if (f.exists())
            System.out.println("EXISTE");
        else
            System.out.println("NÃO EXISTE");
        return arquivo;
    }
        
    

}
